home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
QuickTimeComponents.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
14KB
|
464 lines
/*
File: QuickTimeComponents.idl
Contains: QuickTime Interfaces.
Version: Technology: QuickTime 2.1
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __QUICKTIMECOMPONENTS_IDL__
#define __QUICKTIMECOMPONENTS_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __COMPONENTS_IDL__
#include <Components.idl>
#endif
#ifndef __IMAGECOMPRESSION_IDL__
#include <ImageCompression.idl>
#endif
#ifndef __MOVIES_IDL__
#include <Movies.idl>
#endif
#ifndef __QUICKDRAW_IDL__
#include <Quickdraw.idl>
#endif
#ifndef __VIDEO_IDL__
#include <Video.idl>
#endif
#ifndef __MEMORY_IDL__
#include <Memory.idl>
#endif
#ifndef __SOUND_IDL__
#include <Sound.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
/** These are Clock procedures **/
/*
General Sequence Grab stuff
*/
typedef ComponentInstance SeqGrabComponent;
typedef ComponentInstance SGChannel;
typedef unsigned long SeqGrabDataOutputEnum;
typedef unsigned long SeqGrabUsageEnum;
typedef unsigned long SeqGrabChannelInfoEnum;
typedef SOMLargeStruct SeqGrabFrameInfo; /* Derived from a struct of 20 bytes in size */
typedef OpaquePtr SeqGrabFrameInfoPtr; /* Substituted OpaquePtr for ``SeqGrabFrameInfo*'' */
typedef OpaquePtr SGDataProcPtr;
typedef OpaquePtr SGDataUPP;
typedef SOMLargeStruct SGDeviceName; /* Derived from a struct of 80 bytes in size */
typedef SOMLargeStruct SGDeviceListRecord; /* Derived from a struct of 88 bytes in size */
typedef OpaquePtr SGDeviceListPtr; /* Substituted OpaquePtr for ``SGDeviceListRecord*'' */
typedef OpaquePtr SGDeviceList; /* Substituted OpaquePtr for ``SGDeviceListPtr*'' */
typedef OpaquePtr SGModalFilterProcPtr;
typedef OpaquePtr SGModalFilterUPP;
typedef SOMFourByteStruct SGOutputRecord; /* Derived from a struct of 4 bytes in size */
typedef OpaquePtr SGOutput; /* Substituted OpaquePtr for ``SGOutputRecord*'' */
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
/*
calls from Channel to seqGrab
*/
/*** Sequence Grab CHANNEL Component Stuff ***/
/*
calls from seqGrab to Channel
*/
/*
Dorky dialog panel calls
*/
/*** Sequence Grab VIDEO CHANNEL Component Stuff ***/
/*
Video stuff
*/
typedef SOMLargeStruct SGCompressInfo; /* Derived from a struct of 10 bytes in size */
typedef OpaquePtr SGGrabProcPtr;
typedef OpaquePtr SGGrabUPP;
typedef OpaquePtr SGGrabCompleteProcPtr;
typedef OpaquePtr SGGrabCompleteUPP;
typedef OpaquePtr SGDisplayProcPtr;
typedef OpaquePtr SGDisplayUPP;
typedef OpaquePtr SGCompressProcPtr;
typedef OpaquePtr SGCompressUPP;
typedef OpaquePtr SGCompressCompleteProcPtr;
typedef OpaquePtr SGCompressCompleteUPP;
typedef OpaquePtr SGAddFrameProcPtr;
typedef OpaquePtr SGAddFrameUPP;
typedef OpaquePtr SGTransferFrameProcPtr;
typedef OpaquePtr SGTransferFrameUPP;
typedef OpaquePtr SGGrabCompressCompleteProcPtr;
typedef OpaquePtr SGGrabCompressCompleteUPP;
typedef OpaquePtr SGDisplayCompressProcPtr;
typedef OpaquePtr SGDisplayCompressUPP;
typedef SOMLargeStruct VideoBottles; /* Derived from a struct of 38 bytes in size */
/*** Sequence Grab SOUND CHANNEL Component Stuff ***/
/*
Sound stuff
*/
/* Standard type for video digitizers */
/* Input Format Standards */
/* Input Formats */
/* Video Digitizer PlayThru States */
/* Input Color Space Modes */
/* Phase Lock Loop Modes */
/* Field Select Options */
/* vdig types */
/* Digitizer Input Capability/Current Flags */
/* Digitizer Output Capability/Current Flags */
/* Types */
typedef ComponentInstance VideoDigitizerComponent;
typedef ComponentResult VideoDigitizerError;
typedef SOMLargeStruct DigitizerInfo; /* Derived from a struct of 42 bytes in size */
typedef SOMLargeStruct VdigType; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct VdigTypeList; /* Derived from a struct of 10 bytes in size */
typedef SOMLargeStruct VdigBufferRec; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct VdigBufferRecList; /* Derived from a struct of 22 bytes in size */
typedef OpaquePtr VdigBufferRecListPtr; /* Substituted OpaquePtr for ``VdigBufferRecList*'' */
typedef OpaquePtr VdigBufferRecListHandle; /* Substituted OpaquePtr for ``VdigBufferRecListPtr*'' */
typedef OpaquePtr VdigIntProcPtr;
typedef OpaquePtr VdigIntUPP;
typedef SOMLargeStruct VDCompressionList; /* Derived from a struct of 148 bytes in size */
typedef OpaquePtr VDCompressionListPtr; /* Substituted OpaquePtr for ``VDCompressionList*'' */
typedef OpaquePtr VDCompressionListHandle; /* Substituted OpaquePtr for ``VDCompressionListPtr*'' */
/* number of vdig calls*/
/* 83 is reserved for compatibility reasons */
typedef OpaquePtr SCModalFilterProcPtr;
typedef OpaquePtr SCModalFilterUPP;
typedef OpaquePtr SCModalHookProcPtr;
typedef OpaquePtr SCModalHookUPP;
/* Preference flags.*/
/* Possible test flags for setting test image.*/
/* Dimensions of the image preview box.*/
/* Possible items returned by hookProc.*/
/* Result returned when user cancelled.*/
/* Component selectors*/
/* Get/SetInfo structures.*/
typedef SOMLargeStruct SCSpatialSettings; /* Derived from a struct of 14 bytes in size */
typedef SOMLargeStruct SCTemporalSettings; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct SCDataRateSettings; /* Derived from a struct of 16 bytes in size */
typedef SOMLargeStruct SCExtendedProcs; /* Derived from a struct of 44 bytes in size */
/* Get/SetInfo selectors*/
/* scTypeNotFoundErr returned by Get/SetInfo when type cannot be found.*/
/** These are Progress procedures **/
typedef SOMLargeStruct SCParams; /* Derived from a struct of 38 bytes in size */
typedef ComponentInstance MovieImportComponent;
typedef ComponentInstance MovieExportComponent;
/* Text Export Display Info data structure*/
typedef SOMLargeStruct TextDisplayData; /* Derived from a struct of 44 bytes in size */
typedef ComponentInstance TextExportComponent;
/*
**************
File Preview Components
**************
*/
typedef ComponentInstance pnotComponent;
typedef OpaquePtr DataHCompletionProcPtr;
typedef OpaquePtr DataHCompletionUPP;
typedef SOMLargeStruct DataHVolumeListRecord; /* Derived from a struct of 6 bytes in size */
typedef OpaquePtr DataHVolumeListPtr; /* Substituted OpaquePtr for ``DataHVolumeListRecord*'' */
typedef OpaquePtr DataHVolumeList; /* Substituted OpaquePtr for ``DataHVolumeListPtr*'' */
typedef SOMLargeStruct DataHScheduleRecord; /* Derived from a struct of 28 bytes in size */
typedef OpaquePtr DataHSchedulePtr; /* Substituted OpaquePtr for ``DataHScheduleRecord*'' */
typedef ComponentInstance MusicComponent;
/* MusicSynthesizerFlags*/
/*
* Note that these controller numbers
* are _not_ identical to the MIDI controller numbers.
* These are _signed_ 8.8 values, and the LSB's are
* always sent to a MIDI device. Controllers 32-63 are
* reserved (for MIDI, they are LSB's for 0-31, but we
* always send both).
*
* The full range, therefore, is -128.00 to 127.7f.
*
* _Excepting_ _volume_, all controls default to zero.
*
* Pitch bend is specified in fractional semitones! No
* more "pitch bend range" nonsense. You can bend as far
* as you want, any time you want.
*/
typedef SOMLargeStruct SynthesizerDescription; /* Derived from a struct of 132 bytes in size */
typedef SOMLargeStruct ToneDescription; /* Derived from a struct of 76 bytes in size */
/* InstrumentMatch*/
/* KnobFlags*/
typedef SOMLargeStruct KnobDescription; /* Derived from a struct of 48 bytes in size */
typedef SOMLargeStruct InstrumentData; /* Derived from a struct of 84 bytes in size */
typedef OpaquePtr InstrumentDataPtr; /* Substituted OpaquePtr for ``InstrumentData*'' */
typedef OpaquePtr InstrumentDataHandle; /* Substituted OpaquePtr for ``InstrumentDataPtr*'' */
typedef SOMLargeStruct FlatInstrument; /* Derived from a struct of 84 bytes in size */
typedef SOMLargeStruct InstrumentAboutInfo; /* Derived from a struct of 772 bytes in size */
typedef SOMLargeStruct MusicMIDIPacket; /* Derived from a struct of 255 bytes in size */
typedef OpaquePtr MusicMIDISendProcPtr;
typedef OpaquePtr MusicMIDISendUPP;
/*--------------------------------*/
/*
-----------------------------------------
Capabilities and Voice Allocation
-----------------------------------------
*/
/*
-----------------------------------------
Instrument Loading and Storing
-----------------------------------------
*/
/*
-----------------------------------------
Instrument Knobs
-----------------------------------------
*/
/*
-----------------------------------------
Synthesizer Knobs
-----------------------------------------
*/
/*
-----------------------------------------
Names of Instruments
-----------------------------------------
*/
/*
-----------------------------------------
Realtime Actions
-----------------------------------------
*/
/*
-----------------------------------------
Finding the Hardware
-----------------------------------------
*/
/*
--------------------------
Types
--------------------------
*/
typedef SOMFourByteStruct NoteChannelRecord; /* Derived from a struct of 4 bytes in size */
typedef OpaquePtr NoteChannel; /* Substituted OpaquePtr for ``NoteChannelRecord*'' */
/* used for MIDI device only */
typedef SOMLargeStruct SynthesizerConnections; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct NoteRequest; /* Derived from a struct of 84 bytes in size */
typedef ComponentInstance NoteAllocator;
typedef OpaquePtr MusicMIDIReadHookProcPtr;
typedef OpaquePtr MusicMIDIReadHookUPP;
/*
--------------------------------
Note Allocator Prototypes
--------------------------------
*/
/*
* System Configuration
*/
/*
* Allocation
*/
/*
* Setup
*/
/*
* Control
*/
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
/*
* User Interface
*/
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
/*
* Note Allocator interior views
*/
typedef SOMLargeStruct NAStatPiece; /* Derived from a struct of 80 bytes in size */
typedef SOMLargeStruct NAStat; /* Derived from a struct of 5124 bytes in size */
/*
--------------------------
Types
--------------------------
*/
typedef SOMLargeStruct TuneStatus; /* Derived from a struct of 32 bytes in size */
typedef OpaquePtr TuneCallBackProcPtr;
typedef OpaquePtr TuneCallBackUPP;
typedef OpaquePtr TunePlayCallBackProcPtr;
typedef OpaquePtr TunePlayCallBackUPP;
typedef ComponentInstance TunePlayer;
/*
--------------------------
Prototypes
--------------------------
*/
/* Values for when to start. */
/* Values for when to start. */
typedef unsigned long MusicOpWord;
typedef OpaquePtr MusicOpWordPtr; /* Substituted OpaquePtr for ``unsigned long*'' */
/*
QuickTime Music Track Event Formats:
At this time, QuickTime music tracks support 5 different event types -- REST events,
short NOTE events, short CONTROL events, short GENERAL events, Long NOTE events,
long CONTROL events, and variable GENERAL events.
* REST Event (4 bytes/event):
(0 0 0) (5-bit UNUSED) (24-bit Rest Duration)
*†Short NOTE Events (4 bytes/event):
(0 0 1) (5-bit Instrument) (6-bit Pitch) (7-bit Volume) (11-bit Duration)
where: Pitch is offset by 32 (Actual pitch = pitch field + 32)
*†Short CONTROL Events (4 bytes/event):
(0 1 0) (5-bit Instrument) (8-bit Controller) (1-bit UNUSED) (1-bit Sign) (7-bit MSB) (7-bit LSB)
( or 15-bit Signed Value)
* Short GENERAL Event (4 bytes/event):
(0 1 1) (1-bit UNUSED) (12-bit Sub-Type) (16-bit Value)
* Long NOTE Events (8 bytes/event):
(1 0 0 1) (12-bit Instrument) (1-bit UNUSED) (7-bit Pitch) (1-bit UNUSED) (7-bit Volume)
(1 0) (8-bit UNUSED) (22-bit Duration)
*†Long CONTROL Event (8 bytes/event):
(1 0 1 0) (12-bit Instrument) (16-bit Value MSB)
(1 0) (14-bit Controller) (16-bit Value LSB)
*†Long KNOB Event (8 bytes/event):
(1 0 1 1) (12-bit Sub-Type) (16-bit Value MSB)
(1 0) (14-bit KNOB) (16-bit Value LSB)
*†Variable GENERAL Length Events (N bytes/event):
(1 1 1 1) (12-bit Sub-Type) (16-bit Length)
:
(32-bit Data values)
:
(1 1) (14-bit UNUSED) (16-bit Length)
where: Length field is the number of LONG words in the record.
Lengths include the first and last long words (Minimum length = 2)
The following event type values have not been used yet and are reserved for
future expansion:
* (1 0 0 0) (8 bytes/event)
* (1 1 0 0) (N bytes/event)
* (1 1 0 1) (N bytes/event)
* (1 1 1 0) (N bytes/event)
For all events, the following generalizations apply:
- All duration values are specified in Millisecond units.
- Pitch values are intended to map directly to the MIDI key numbers.
- Controllers from 0 to 127 correspond to the standard MIDI controllers.
Controllers greater than 127 correspond to other controls (i.e., Pitch Bend,
Key Pressure, and Channel Pressure).
*/
/* Defines for the implemented music event data fields*/
/* General Event Defined Types*/
typedef SOMLargeStruct TimeCodeDef; /* Derived from a struct of 14 bytes in size */
typedef SOMFourByteStruct TimeCodeTime; /* Derived from a struct of 4 bytes in size */
typedef SOMFourByteStruct TimeCodeCounter; /* Derived from a struct of 4 bytes in size */
typedef SOMLargeStruct TimeCodeRecord; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct TimeCodeDescription; /* Derived from a struct of 38 bytes in size */
typedef OpaquePtr TimeCodeDescriptionPtr; /* Substituted OpaquePtr for ``TimeCodeDescription*'' */
typedef OpaquePtr TimeCodeDescriptionHandle; /* Substituted OpaquePtr for ``TimeCodeDescriptionPtr*'' */
typedef SOMLargeStruct TCTextOptions; /* Derived from a struct of 18 bytes in size */
typedef OpaquePtr TCTextOptionsPtr; /* Substituted OpaquePtr for ``TCTextOptions*'' */
/* UPP call backs */
#endif
#endif /* __SOMIDL__ */
#endif /* __QUICKTIMECOMPONENTS_IDL__ */